const express = require("express");
const path = require("path");

const formidable = require("express-formidable")

const app = express();

// 静态资源服务
app.use(express.static(path.join(__dirname,"public")));

// post表单解析
// app.use(express.urlencoded({extended:false}));  //只能解析这种类型content-type : application/x-www-form-urlencoded


// 以json方式发送的请求的解析
app.use(express.json());

app.use(formidable({
    // 是否保留后缀名,针对文件上传
    keepExtensions: true,
    // 文件上传保存的路径
    uploadDir:"./public/upload"
}))

// 设置路由
const router = express.Router();


// 案例1的路由
router.post("/form-data",(req,res) =>{
    // 文件的内容
    console.log(req.files);
    // 所有的文本的内容
    // res.json(req.fields);
    res.json(req.files);
})


// 案例2的路由
router.post("/upload",(req,res) =>{
    console.log("ggggg")
    // 这个打印出来的file:File{}中的File只是一个类型
    console.log(req.files);
    const file = path.win32.basename(req.files.file.path);
    console.log(file);
    res.json({url:`/upload/${file}`});
    
})



app.use("/",router);

app.listen(3002,() =>{
    console.log("listen 3002");
})


